//package com.daocao.hua.activity;
//
//import android.app.Activity;
//import android.content.Intent;
//import android.graphics.Bitmap;
//import android.graphics.BitmapFactory;
//import android.graphics.Color;
//import android.graphics.drawable.BitmapDrawable;
//import android.net.Uri;
//import android.os.Build;
//import android.os.Bundle;
//import android.provider.MediaStore;
//import android.support.v4.content.ContextCompat;
//import android.text.TextUtils;
//import android.util.TypedValue;
//import android.view.View;
//import android.view.View.OnClickListener;
//import android.view.WindowManager;
//import android.widget.FrameLayout;
//import android.widget.ImageButton;
//import android.widget.ImageView;
//import android.widget.LinearLayout;
//import android.widget.ListView;
//import android.widget.RelativeLayout;
//import android.widget.TextView;
//import android.widget.Toast;
//
//import com.daocao.hua.R;
//import com.daocao.hua.adapter.OfflinePaymentAdapterNew;
//import com.daocao.hua.constant.Const;
//import com.daocao.hua.impl.RepayInfoImpl;
//import com.daocao.hua.impl.UploadImageInfoImpl;
//import com.daocao.hua.http.InfoCallBack;
//import com.daocao.hua.model.OfflinePaymentModel;
//import com.daocao.hua.model.PayOrderModel;
//import com.daocao.hua.model.UploadImageModel;
//import com.daocao.hua.util.ImageUtil;
//import com.daocao.hua.util.PreferenceUtils;
//import com.daocao.hua.util.ToastUtil;
//import com.daocao.hua.util.UI;
//import com.daocao.hua.view.CanShadowDrawable;
//import com.daocao.hua.view.CircularProgress;
//import com.daocao.hua.view.Dialog;
//import com.daocao.hua.view.SlowScrollView;
//import com.readystatesoftware.systembartint.SystemBarTintManager;
//
//import java.io.ByteArrayInputStream;
//import java.io.ByteArrayOutputStream;
//import java.io.FileNotFoundException;
//import java.io.IOException;
//import java.io.InputStream;
//import java.text.DecimalFormat;
//
///**
// * 线下支付界面
// */
//public class PayOfflineActivity extends BaseActivity
//        implements OnClickListener {
//
//    private String dealId;
//    private CircularProgress loading;
//    private TextView money, number, repay_tip;
//    private String mMoney, newMoney, noticeSN, overdue, noticeId;
//    private TextView alipayText, bankText, submit;
//    private View alipayLine, bankLine;
//    private RelativeLayout alipayView, bankView;
//    private LinearLayout takeView;
//    private ImageView iv;
//    private String imgStr;
//    private ListView alipayList, bankcardList;
//    private OfflinePaymentAdapterNew adapter;
//    private TextView repayTipRight;
//    private String payType;
//    private String url;
//    private TextView sn;
//    private String payMoney;
//    private String balance;
//    private String totalMoney;
//    private TextView needPay;
//    private String coupon_money;
//    private SlowScrollView scrollview;
//    private LinearLayout layout_total;
//    private LinearLayout layout_one;
//    private LinearLayout layout_two;
//    private String payment_id;
//    private String bonus_name;
//    private String bonus_id;
//
//    protected void onCreate(Bundle paramBundle) {
//        super.onCreate(paramBundle);
//        setContentView(R.layout.pay_offline_activity);
//        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
//            //透明状态栏
//            getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
//            //透明导航栏
//            SystemBarTintManager tintManager = new SystemBarTintManager(this);
//            tintManager.setStatusBarTintColor(Color.parseColor("#F55757"));
//            tintManager.setNavigationBarTintColor(Color.parseColor("#000000"));
//            tintManager.setStatusBarTintEnabled(true);
//            tintManager.setNavigationBarTintEnabled(true);
//        }
//        baseInitView(this, "PayOffline_Page", Const.ViewType.ACTIVITY);
//        initView();
//    }
//
//    float dp2Px(float dp) {
//        return TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp, getResources().getDisplayMetrics());
//    }
//
//    //    设置阴影
//    private void setGradient(LinearLayout layout) {
//        CanShadowDrawable.Builder.on(layout)
//                .radius(dp2Px(6))
//                .shadowColor(Color.parseColor("#55838383"))
////                .shadowDx(1)
//                .shadowDy(dp2Px(1))
//                .shadowRange(dp2Px(6))
//                .offsetTop(dp2Px(6))
//                .offsetBottom(dp2Px(6))
//                .offsetLeft(dp2Px(6))
//                .offsetRight(dp2Px(6))
//                .create();
//    }
//
//    private void initView() {
//        alipayList = (ListView) findViewById(R.id.alipay_list);
//        bankcardList = (ListView) findViewById(R.id.bankcard_list);
//        loading = ((CircularProgress) findViewById(R.id.progressBar));
//        number = ((TextView) findViewById(R.id.number));
////        scrollview = (SlowScrollView) findViewById(R.id.scrollView);
////        layout_background = (LinearLayout) findViewById(R.id.layout_background);
////        money = ((TextView) findViewById(R.id.money));
//        repay_tip = ((TextView) findViewById(R.id.repay_tip));
//        alipayText = ((TextView) findViewById(R.id.alipay_text));
//        bankText = ((TextView) findViewById(R.id.bank_text));
//        alipayLine = findViewById(R.id.alipay_line);
//        bankLine = findViewById(R.id.bank_line);
//        repayTipRight = (TextView) findViewById(R.id.repay_tip_right);
//        alipayView = (RelativeLayout) findViewById(R.id.alipay_view);
//        bankView = (RelativeLayout) findViewById(R.id.bank_view);
//        layout_one = (LinearLayout) findViewById(R.id.layout_one);
//        layout_two = (LinearLayout) findViewById(R.id.layout_two);
//        takeView = (LinearLayout) findViewById(R.id.take_view);
//        layout_total = (LinearLayout) findViewById(R.id.layout_total);
//        submit = (TextView) findViewById(R.id.submit);
//        iv = (ImageView) findViewById(R.id.iv);
//        needPay = (TextView) findViewById(R.id.txt_pay_money);
//
////        sn = (TextView) findViewById(R.id.sn);
//        submit.setOnClickListener(this);
////        sn.setOnClickListener(this);
//        ((RelativeLayout) findViewById(R.id.alipay_btn)).setOnClickListener(this);
//        ((RelativeLayout) findViewById(R.id.bank_btn)).setOnClickListener(this);
//        ((FrameLayout) findViewById(R.id.update_img)).setOnClickListener(this);
//        ((ImageButton) findViewById(R.id.left_img)).setOnClickListener(this);
//        ((TextView) findViewById(R.id.title_text_right)).setOnClickListener(this);
//
//        setGradient(layout_one);
//        setGradient(layout_two);
//        if (!PreferenceUtils.getBoolean(this, "ifFirst", false)) {
//            Dialog.showPayProcessTipDialog(this, new Dialog.DialogClickListener() {
//                @Override
//                public void confirm() {
//                    startToLookPayProcess();
//                }
//            });
//            PreferenceUtils.putBoolean(this, "ifFirst", true);
//        }
//
//        dealId = getIntent().getStringExtra("deal_id");
//        mMoney = getIntent().getStringExtra("money");
//        overdue = getIntent().getStringExtra("overdue");
////        noticeId = getIntent().getStringExtra("notice_id");
////        noticeSN = getIntent().getStringExtra("notice_sn");
//        totalMoney = getIntent().getStringExtra("total_money");
//        balance = getIntent().getStringExtra("balance");
//        payment_id = getIntent().getStringExtra("payment_id");
//        bonus_name = getIntent().getStringExtra("bonus_name");
//        bonus_id = getIntent().getStringExtra("bonus_id");
////        coupon_money = getIntent().getStringExtra("coupon_money");
//
//        payMoney = mMoney;
//        if (!TextUtils.isEmpty(bonus_name)) {
//            number.setText(bonus_name);
//        }
//
//        needPay.setText(new DecimalFormat("0.00").format(Float.parseFloat(mMoney)));
//        UI.setTvHtml(repay_tip, R.string.pay_offline_text, "未还总额&#160;&#160;", totalMoney + "");
//        UI.setTvHtml(repayTipRight, R.string.pay_offline_text, "余额抵扣&#160;&#160;", TextUtils.isEmpty(balance) ? "0" : balance + "");
//        getOfflinePayment();
//
//    }
//
//
//    /**
//     * 是否显示加载框
//     *
//     * @param b
//     */
//    private void showLoading(boolean b) {
//        if (loading != null) {
//            if (b) {
//                submit.setEnabled(false);
//                loading.setVisibility(View.VISIBLE);
//            } else {
//                submit.setEnabled(true);
//                loading.setVisibility(View.GONE);
//            }
//        }
//    }
//
//
//    public void onClick(View view) {
//        switch (view.getId()) {
//            default:
//                return;
//            case R.id.alipay_btn:
//                selectBtn(1);
//                break;
//            case R.id.bank_btn:
//                selectBtn(2);
//                break;
//            case R.id.update_img:
//                selectImage();
//                break;
//            case R.id.submit:
//                if (iv.getDrawable() == null)
//                    ToastUtil.makeText(this, getString(R.string.please_upload_transfer_voucher), Toast.LENGTH_SHORT).show();
//                else getUploadImage();
//                break;
//            case R.id.title_text_right:
//                startToLookPayProcess();
//                break;
//            case R.id.left_img:
//                finish();
//                break;
//        }
//    }
//
//    private void startToLookPayProcess() {
//        Intent intent = new Intent(PayOfflineActivity.this, LookPayProcessActivity.class);
//        intent.putExtra("title", "查看支付流程");
//        intent.putExtra(Const.KEY.PROCESS_URL, url);
//        startActivity(intent);
//    }
//
//    private void selectBtn(int type) {
//        clearBtn();
//
//        if (type == 2) {
//            payType = "Bankcard";
//            bankLine.setVisibility(View.VISIBLE);
//            bankText.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.d_red));
//            alipayView.setVisibility(View.GONE);
//            bankView.setVisibility(View.VISIBLE);
//        } else {
//            payType = "Alipay";
//            alipayLine.setVisibility(View.VISIBLE);
//            alipayText.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.d_red));
//            bankView.setVisibility(View.GONE);
//            alipayView.setVisibility(View.VISIBLE);
//        }
//    }
//
//    private void clearBtn() {
//        iv.setImageDrawable(null);
//        takeView.setVisibility(View.VISIBLE);
//        alipayLine.setVisibility(View.INVISIBLE);
//        bankLine.setVisibility(View.INVISIBLE);
//        alipayText.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.default_black_color));
//        bankText.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.default_black_color));
//    }
//
//    private void selectImage() {
//        Intent intent = new Intent(Intent.ACTION_PICK, null);
//        intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
//                "image/*");
//        startActivityForResult(intent, 0x1);
//    }
//
//    @Override
//    public void onActivityResult(int requestCode, int resultCode, Intent data) {
//        super.onActivityResult(requestCode, resultCode, data);
//        if (requestCode == 0x1 && resultCode == -1) {
//            if (data != null) {
//                takeView.setVisibility(View.GONE);
//                try {
//                    iv.setImageBitmap(getBitmapFormUri(this, data.getData()));
//                } catch (IOException e) {
//                    e.printStackTrace();
//                }
//
//            }
//        }
//    }
//
//
//    /**
//     * 通过uri获取图片并进行压缩
//     *
//     * @param uri
//     */
//    public static Bitmap getBitmapFormUri(Activity ac, Uri uri) throws FileNotFoundException, IOException {
//        InputStream input = ac.getContentResolver().openInputStream(uri);
//        BitmapFactory.Options onlyBoundsOptions = new BitmapFactory.Options();
//        onlyBoundsOptions.inJustDecodeBounds = true;
//        onlyBoundsOptions.inDither = true;//optional
//        onlyBoundsOptions.inPreferredConfig = Bitmap.Config.ARGB_8888;//optional
//        BitmapFactory.decodeStream(input, null, onlyBoundsOptions);
//        input.close();
//        int originalWidth = onlyBoundsOptions.outWidth;
//        int originalHeight = onlyBoundsOptions.outHeight;
//        if ((originalWidth == -1) || (originalHeight == -1))
//            return null;
//        //图片分辨率以480x800为标准
//        float hh = 800f;//这里设置高度为800f
//        float ww = 480f;//这里设置宽度为480f
//        //缩放比。由于是固定比例缩放，只用高或者宽其中一个数据进行计算即可
//        int be = 1;//be=1表示不缩放
//        if (originalWidth > originalHeight && originalWidth > ww) {//如果宽度大的话根据宽度固定大小缩放
//            be = (int) (originalWidth / ww);
//        } else if (originalWidth < originalHeight && originalHeight > hh) {//如果高度高的话根据宽度固定大小缩放
//            be = (int) (originalHeight / hh);
//        }
//        if (be <= 0)
//            be = 1;
//        //比例压缩
//        BitmapFactory.Options bitmapOptions = new BitmapFactory.Options();
//        bitmapOptions.inSampleSize = be;//设置缩放比例
//        bitmapOptions.inDither = true;//optional
//        bitmapOptions.inPreferredConfig = Bitmap.Config.ARGB_8888;//optional
//        input = ac.getContentResolver().openInputStream(uri);
//        Bitmap bitmap = BitmapFactory.decodeStream(input, null, bitmapOptions);
//        input.close();
//
//        return compressImage(bitmap);//再进行质量压缩
//    }
//
//    /**
//     * 质量压缩方法
//     *
//     * @param image
//     * @return
//     */
//    public static Bitmap compressImage(Bitmap image) {
//
//        ByteArrayOutputStream baos = new ByteArrayOutputStream();
//        image.compress(Bitmap.CompressFormat.JPEG, 100, baos);//质量压缩方法，这里100表示不压缩，把压缩后的数据存放到baos中
//        int options = 100;
//        while (baos.toByteArray().length / 1024 > 100) {  //循环判断如果压缩后图片是否大于100kb,大于继续压缩
//            baos.reset();//重置baos即清空baos
//            //第一个参数 ：图片格式 ，第二个参数： 图片质量，100为最高，0为最差  ，第三个参数：保存压缩后的数据的流
//            image.compress(Bitmap.CompressFormat.JPEG, options, baos);//这里压缩options%，把压缩后的数据存放到baos中
//            options -= 10;//每次都减少10
//        }
//        ByteArrayInputStream isBm = new ByteArrayInputStream(baos.toByteArray());//把压缩后的数据baos存放到ByteArrayInputStream中
////        Bitmap bitmap = //把ByteArrayInputStream数据生成图片
//        return BitmapFactory.decodeStream(isBm, null, null);
//    }
//
//
//    /**
//     * 支付结果界面
//     *
//     * @param type
//     */
//    private void startActivity(int type) {
//        Intent localIntent = new Intent(this, RepayResultActivityNew.class);
//        localIntent.putExtra("type", type);
//        localIntent.putExtra("deal_id", dealId);
//        localIntent.putExtra("money", payMoney);
//        localIntent.putExtra("overdue", overdue);
//        startActivity(localIntent);
//        overridePendingTransition(R.anim.right_enter, R.anim.left_out);
//        finish();
//    }
//
//    /**
//     * 获取线下支付
//     */
//    private void getOfflinePayment() {
//        showLoading(true);
//        new RepayInfoImpl().getOfflinePayment(this, new InfoCallBack() {
//            @Override
//            public void onSuccess(Object object) {
//                showLoading(false);
//                OfflinePaymentModel model = (OfflinePaymentModel) object;
//
//                alipayText.setText(model.getAlipay().getName());
//                bankText.setText(model.getBankcard().getName());
//
//                if (model.getBankcard().getIs_selected() == 1)
//                    selectBtn(2);
//                else selectBtn(1);
//
//                adapter = new OfflinePaymentAdapterNew(PayOfflineActivity.this, model.getAlipay().getInfo());
//                alipayList.setAdapter(adapter);
//
//                adapter = new OfflinePaymentAdapterNew(PayOfflineActivity.this, model.getBankcard().getInfo());
//                bankcardList.setAdapter(adapter);
//
//                url = model.getOfficePayDescription().getUrl();
//            }
//
//            @Override
//            public void onFailure(String cause) {
//                showLoading(false);
//            }
//        });
//    }
//
//    /**
//     * 上传图片
//     */
//    private void getUploadImage() {
//        try {
//            showLoading(true);
//            new UploadImageInfoImpl().getUploadImageInfo(this, ImageUtil.Bitmap2StrByBase64(((BitmapDrawable) iv.getDrawable()).getBitmap()), new InfoCallBack() {
//                @Override
//                public void onSuccess(Object o) {
//                    showLoading(false);
//                    try {
//                        UploadImageModel model = (UploadImageModel) o;
//                        imgStr = model.getShort_url();
//
//                        getNewOrder();
//                    } catch (Exception e) {
//                        e.printStackTrace();
//                    }
//                }
//
//                @Override
//                public void onFailure(String cause) {
//                    ToastUtil.makeText(getApplicationContext(), cause, Toast.LENGTH_SHORT).show();
//                    showLoading(false);
//                }
//            });
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//    }
//
//    private static final String Otherpay = "Otherpay";
//    private static final String ACTION = "REPAY";
//
//    /**
//     * 新增订单
//     */
//    private void getNewOrder() {
//        showLoading(true);
//        new RepayInfoImpl().getNewOrderInfo(this, ACTION, payment_id, Otherpay, mMoney, balance, bonus_id, new InfoCallBack() {
//            @Override
//            public void onSuccess(Object o) {
//                showLoading(false);
//                PayOrderModel model = (PayOrderModel) o;
//                noticeId = model.data.notice_id + "";
//                getUploadInfo();
//            }
//
//            @Override
//            public void onFailure(String cause) {
//                ToastUtil.makeText(getApplicationContext(), cause, Toast.LENGTH_SHORT).show();
//                showLoading(false);
//            }
//        });
//    }
//
//
//    /**
//     * 上传信息
//     */
//    private void getUploadInfo() {
//        showLoading(true);
//        new RepayInfoImpl().getOfflineInfo(this, noticeId, payType, imgStr,bonus_id, new InfoCallBack() {
//            @Override
//            public void onSuccess(Object object) {
//                showLoading(false);
//                startActivity(3);
//            }
//
//            @Override
//            public void onFailure(String cause) {
//                ToastUtil.makeText(getApplicationContext(), cause, Toast.LENGTH_SHORT).show();
//                showLoading(false);
//                startActivity(4);
//            }
//        });
//    }
//}
